package main

import (
	"fmt"
	"os"
	"regexp"
	"runtime"
	"time"
)
//打印信息
func PrintMsg(msg string){
	fmt.Println(msg)
}

//错误检测
func CheckError(err error){
	if err != nil{
		pc, file , line ,ok := runtime.Caller(1)
		fc := runtime.FuncForPC(pc)
		PrintMsg(fmt.Sprintf("Catch Error %s ==========",time.Now()))
		PrintMsg(fmt.Sprintf("File: %s", file))
		PrintMsg(fmt.Sprintf("Line: %d", line))
		PrintMsg(fmt.Sprintf("Ok  : %t", ok))
		PrintMsg(fmt.Sprintf("Func: %s", fc.Name()))
		PrintMsg(fmt.Sprintf("Err : %s", err))
		PrintMsg(fmt.Sprintf("======================================"))
		os.Exit(1)
	}
}

//判断路径是否存在
// 	检测路径是否存在，如果存在
// 	继续判断路径是文件还是目录
func IsExistAndIsDir(path string)(bool,bool){
	s, err := os.Stat(path)
	if os.IsNotExist(err) {
		return false, false
	}
	return true, s.IsDir()
}

//产生一个正则对象
func NewRegex(regex string)*regexp.Regexp{
	r , err := regexp.Compile(regex)
	CheckError(err)
	return r
}